package com.ruoyi.safe.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.safe.domain.BizEducateClass;
import com.ruoyi.safe.domain.BizEducateDocAttach;
import com.ruoyi.safe.domain.vo.ListRequestVo;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

@Data
public class BizEducateAppDTO extends BasePageAppDTO {
    /**
     * 主键
     */
    private Long id;

    /**
     * 教育名称
     */
    @Excel(name = "教育名称")
    private String educateName;

    /**
     * 教育时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date educateTime;

    /**
     * 文件名
     */
    private String fileName;

    /**
     * 照片名
     */
    private String photoName;

    /**
     * 音频文件
     */
    private String audio;

    /**
     * 音频时长
     */
    private String audioDuration;

    /**
     * 会议纪要
     */
    private String sessionSheet;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 是否为自己所发起的
     */
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private boolean isMyself;

    /** 开始日期 */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonIgnore
    private Date startTime;

    /** 结束日期 */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonIgnore
    private Date endTime;

    public void setEndTime(Date endTime) {
        if(endTime != null){
            this.endTime = DateUtils.addDays(endTime,1);
        }
    }

    /**
     * 教育班级关联信息
     */
    private List<BizEducateClass> bizEducateClassList;

    /**
     * 图片附件
     */
    @JsonProperty(access = JsonProperty.Access.READ_ONLY)
    private List<BizEducateDocAttach> photoBizEducateDocAttachList;

    /**
     * 文件附件
     */
    @JsonProperty(access = JsonProperty.Access.READ_ONLY)
    private List<BizEducateDocAttach> fileBizEducateDocAttachList;

    /**
     * 音频附件
     */
    @JsonProperty(access = JsonProperty.Access.READ_ONLY)
    private List<BizEducateDocAttach> audioBizEducateDocAttachList;
}
